#ifndef __TREE_H__
#define __TREE_H__


#include " Elemnt_data_tree.h"

// 定义树节点结构体
typedef struct Tree_Node
{
    Elenemt_data data;
    struct Tree_Node * lchilb;  // 左孩子
    struct Tree_Node * rchilb;  // 右孩子
}Tree_Node;

// 基本操作
// 初始化二叉树
Tree_Node *init_binary_tree( Elenemt_data data );

// 插入节点
void insert_node(Tree_Node **root, Elenemt_data data);

// 先序遍历 根 左 右   preorder_traversal
void pre_rder(Tree_Node *root);

// 中序遍历 左 右 根   inorder_traversal
void ino_rder(Tree_Node *root);

// 后序遍历 左 右 根   postorder_traversal
void pos_rder(Tree_Node *root);

#endif